package com.mbengue.corp.artisan.utils;

import java.io.IOException;

import com.itextpdf.text.BaseColor;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Font.FontFamily;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPTable;
import com.mbengue.corp.artisan.utils.abstrait.PdfExporteur;

public class ArticlePdfExporteur extends PdfExporteur {
  private static final long serialVersionUID = -3851080480454355553L;
  private static final String ENTETE_DOCUMENT = "Tous Les Articles Répertoriés.";
  public static float[] LARGEUR_COLONNES = { 1.2f, 10f, 1.8f, 1.2f };
  public static String[] ENTETE_TABLEAU = { "Code", "Designation", "Prix HT (€)", "TVA" };

  public ArticlePdfExporteur(String nomFichier, int nbLigne, boolean portraitOuPaysage) throws DocumentException,
      IOException {
    super(nomFichier, nbLigne, portraitOuPaysage);
  }

  @Override
  protected float ajouterEnteteDocument(int page) throws DocumentException {
    PdfPTable header = new PdfPTable(1);
    header.setWidthPercentage(100);
    header.getDefaultCell().setBackgroundColor(BaseColor.BLACK);
    header.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
    Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD, BaseColor.WHITE);
    Phrase phrase = new Phrase(ENTETE_DOCUMENT, font);
    header.addCell(phrase);
    getDocument().add(header);
    return header.getTotalHeight();
  }

  @Override
  protected void ajouterFooterDocument(int page) throws DocumentException {
    // Rien à faire. Pas besoin de pied de page
  }
}
